-
Notifications
You must be signed in to change notification settings - Fork 186
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Psionic Refactor Version 3 Part 1 #1383
Merged
VMSolidus
merged 6 commits into
Simple-Station:master
from
VMSolidus:Psionic-Refactor-Version-3
Jan 1, 2025
Merged
Psionic Refactor Version 3 Part 1 #1383
VMSolidus
merged 6 commits into
Simple-Station:master
from
VMSolidus:Psionic-Refactor-Version-3
Jan 1, 2025
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
github-actions
bot
added
Status: Merge Conflict
FIX YOUR PR AAAGH
Changes: C#
Changes any cs files
Changes: YML
Changes any yml files
and removed
Status: Merge Conflict
FIX YOUR PR AAAGH
labels
Dec 30, 2024
Pyrokinesis is really hard to tell who did it nowadays, some effects in the future? |
Most definitely, although I'm not touching individual power code in this PR |
sleepyyapril
approved these changes
Dec 31, 2024
DEATHB4DEFEAT
approved these changes
Jan 1, 2025
SimpleStation14
added a commit
that referenced
this pull request
Jan 1, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Changes: C#
Changes any cs files
Changes: Localization
Changes any ftl files
Changes: YML
Changes any yml files
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
They say Rome wasn't built in a day, well this entire PR was coded in a single 6 hour Adderall binge. This PR represents the next big leap in code capability for the PsionicSystem, completely reworking how Psionic Powers are added and removed, such that like the TraitSystem, they utilize modular functions governing how they work. Instead of there being only 5 different hardcoded things that Psi Powers can do, there is now a library containing 21 different modular functions, which are slotted as desired into the power prototypes.
Additionally, a significant improvement in the logical flow of this is that since each power is responsible for its own "removal codepath", it's now possible to remove individual powers from a character, as opposed to always needing to wipe the slate clean entirely.
I'm not going to add any new powers in this PR, nor am I touching the code for the Psionic Actions themselves, that'll come in Part 2, in which I refactor the Psionic-Actions so that they also operate on similar stacks of modular functions.
This PR also makes extensive refactors to the PsionicPowerPrototype, as well as PsionicAbilitiesSystem, so that it has all new hooks and datafields for other systems to be able to modify a psion. It is now entirely feasible to create unique "Types" of Psions, with their own distinct power lists. It's also now possible to create "Tech Trees" of powers, by setting up powers such that they write to and modify the personalized pool of available powers to generate. For example, Xenoglossy and Psychognomy are now dependent on Telepathy, and simply won't appear in the list of available powers if a Psion doesn't first have Telepathy.
Changelog
🆑